Load balancing is a method to distribute work across different machines to more efficiently utilize available resources. For example, a machine may be selected to process a request based on current resources being used by that machine. Load balancing processes across servers can be challenging.